#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef int SLNodeDataType;
typedef struct SListNode
{
	SLNodeDataType data;
	struct SListNode* next;
}SLNode;
//申请节点
SLNode* SLNBuyNode(SLNodeDataType x);
//打印
void SLNodePrint(SLNode* phead);
//尾插
void SLNPushBack(SLNode** pphead, SLNodeDataType x);
//头插
void SLNPushFront(SLNode** pphead, SLNodeDataType x);
//尾删
void SLNPopBack(SLNode** pphead);
//头删
void SLNPopFront(SLNode** pphead);
//查找
SLNode* SLNodeFind(SLNode* phead,SLNodeDataType x);
//在指定位置pos之前插入
void SLNodeInsert(SLNode** pphead, SLNode* pos, SLNodeDataType x);
//在指定位置pos之后插入
void SLNodeInsertAfter(SLNode* pos, SLNodeDataType x);
//删除pos位置的节点
void SLNodeErase(SLNode** pphead, SLNode* pos);
//删除pos位置之后的节点
void SLNodeEraseAfter(SLNode* pos);
//销毁
void SLNodeDestroy(SLNode** pphead);
